home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
TPUG - Toronto PET Users Group
/
TPUG Users Group CD
/
TPUG Users Group CD.iso
/
COMAL
/
Z-Misc Series
/
(k)zk.d64
/
pl0.test1
< prev
next >
Wrap
Text File
|
2007-03-01
|
1KB
|
56 lines
0010 // CONST M=7, N=85;
0020 // VAR X, Y, Z, Q, R;
0030 //
0040 // PROCEDURE MULT;
0050 // VAR A, B;
0060 // BEGIN
0070 // A:=X; B:=Y; Z:=0;
0080 // WHILE B>0 DO
0090 // BEGIN
0100 // IF ODD B THEN Z:=Z+A;
0110 // A:=2*A; B:=B/2;
0120 // END;
0130 // END;
0140 //
0150 // PROCEDURE DIVID;
0160 // VAR W;
0170 // BEGIN
0180 // R:=X; Q:=0; W:=Y;
0190 // WHILE W<=R DO W:=2*W;
0200 // WHILE W>Y DO
0210 // BEGIN
0220 // Q:=2*Q; W:=W/2;
0230 // IF W<=R THEN
0240 // BEGIN
0250 // R:=R-W; Q:=Q+1;
0260 // END;
0270 // END;
0280 // END;
0290 //
0300 // PROCEDURE GCD;
0310 // VAR F, G;
0320 // PROCEDURE EXCHANGE;
0330 // VAR H;
0340 // BEGIN
0350 // H:=F; F:=G; G:=H;
0360 // END;
0370 // BEGIN
0380 // F:=X; G:=Y;
0390 // WHILE F<>0 DO
0400 // BEGIN
0410 // IF F<G THEN G:=G-G/F*F;
0420 // IF G<F THEN CALL EXCHANGE;
0430 // END;
0440 // Z:=G;
0450 // END;
0460 //
0470 // BEGIN
0480 // X:=M; Y:=N;
0490 // CALL MULT; WRITE(Z); WRITELN;
0500 // X:=25; Y:=3;
0510 // CALL DIVID;
0520 // WRITE(Q); WRITE(R); WRITELN;
0530 // X:=84; Y:=36;
0540 // CALL GCD; WRITE(Z); WRITELN;
0550 // END.